package com.ngmaster.socket.message;

import com.ngmaster.socket.ProtocolMessage;

import java.util.Arrays;

/**
 * 申请设备ID：（此命令为新加）
 * 未申请ID的电脑板，上电后会携带ICCID去申请ID，该ID为6位数。未分配时每10秒申请一次，申请到ID后，不在发送。
 * 电脑板主动上传且需要服务器应答设备号：
 *
 */
public class GainDeviceIdMessage extends ProtocolMessage {

    /** 设备ID */
    private int deviceId;

    public int getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(int deviceId) {
        this.deviceId = deviceId;
    }

    @Override
    public void onSerial() {
        this.byteArray.writeInt(this.deviceId);
    }

    @Override
    public void onDeserialize() {
        this.deviceId = this.byteArray.readInt();
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("GainDeviceIdMessage{");
        sb.append("deviceId=").append(deviceId);
        sb.append(", imeiBytes=").append(Arrays.toString(imeiBytes));
        sb.append(", imei='").append(imei).append('\'');
        sb.append(", cmd=").append(cmd);
        sb.append(", dataLength=").append(dataLength);
        sb.append(", crc=").append(crc);
        sb.append(", crcHex='").append(crcHex).append('\'');
        sb.append(", byteArray=").append(byteArray);
        sb.append('}');
        return sb.toString();
    }
}
